<?php
namespace Swiftx\Processor;
use Swiftx\System\Object;

/**
 * 处理器接口
 * @author		胡永强  <odaytudio@gmailcom>
 * @since		2015-05-08
 * @copyright	Copyright (c) 2014-2015 Swiftx Inc.
 */
abstract class Normal extends Object implements IBase {

    protected $Action = null;

    /**
     * 运行处理器
     * @param $method
     * @param bool $sync
     */
    public function Execute($method, $sync=true){
        // 处理器预定义方法
        $this->Action = 'Action'.$method;
        // 处理器自检方法
        $method = 'Check'.$method;
        if(method_exists($this,$method))
            $this->$method();
        // 同步方式处理
        if($sync == true){
            $method = $this->Action;
            $this->$method();
        }
        // 异步处理方式
        else {

        }
    }

}